The Advanced Configuration and Power Interface (ACPI) Specification describes techniques for managing power consumption in processing systems. For example, according to the ACPI Specification, computers may alternate between working and sleeping states. (Revision 3.0a of the ACPI Specification, dated Dec. 30, 2005, is currently available from www.acpi.info/spec.htm.)
In particular, the ACPI Specification describes “global system states” such as G0, G1, and G2, as well as the “sleeping states” S0, S1, S2, S3, S4, and S5. Global system state G2 and sleeping state S5 coincide, with either term being used to indicate the “system soft off” state. By contrast, global system state G0 is considered the “global working state” or “system working state.” That state may also be referred to as sleeping state S0. The other sleeping states (i.e., S1-S4) correspond to the “global sleeping state” G1. Power consumption can be reduced by transitioning a processing system from a higher power state, such as G0, to a lower power state, such as G1, in appropriate circumstances.
In addition, the ACPI Specification describes the “processor power states” C0, C1, C2, and C3 as “processor power consumption and thermal management states within the global working state, G0.” Power consumption may be reduced by transitioning the processor from a numerically lower processor power state, such as C0, to a numerically higher processor power state, such as C1. The ACPI specification also contemplates up to sixteen “processor performance states,” referred to as P0, P1, etc. These processor performance states “(Px states) are power consumption and capability states within the active/executing” C0 state.
For instance, the ACPI Specification states that, in the working state, “the computer is used to do work, [although] processors can be in low-power (Cx) states if they are not being used . . . . The net effect of this is that the entire machine is functional in the Working state. Various Working sub-states differ in speed of computation, power used, heat produced, and noise produced. Tuning within the Working state is largely about trade-offs among speed, power, heat, and noise.”
Accordingly, in a conventional processing system with a single central processing unit (CPU) with a single processing core, the operating system (OS) may dynamically change the operating characteristics of the CPU to reduce the amount of power consumed by the processing system. For instance, when the processing system is idle or does not need the maximum performance from the processor, the OS may transition the CPU from a higher power state to a lower power state (e.g., from C0 to C1) without transitioning the system out of the global working state G0. Or, within the processor power state P0, the OS may transition the CPU from a higher processor performance state to a lower processor performance state (e.g., from P0 to P1).
Effective power management provides many benefits. In mobile devices such as laptop computers, handheld computers, personal digital assistants (PDAs), cellular telephones (cell phones), entertainment devices, etc., one notable benefit is increased battery life. For purposes of this disclosure, the term “battery life” refers to the amount of time that a processing system can operate on battery power before the battery must be recharged or replaced.